package studentinformationmanagementsystem.dao;

import studentinformationmanagementsystem.entity.Classandgrade;
import studentinformationmanagementsystem.entity.TeachersSchedules;
import studentinformationmanagementsystem.entity.TemporaryClassTable;

import java.util.List;

/**
 * @author 苗庆
 * @version 1.0
 */
public interface TemporaryClassTableDao {

    /**
     * 对选课临时班级表信息进行添加
     * @param temporaryClassTable  选课临时班级表对象
     * @return  受影响的记录行数
     */
    int insert(TemporaryClassTable temporaryClassTable);


    /**
     *  根据ID更新选课临时班级表信息
     * @param temporaryClassTable  选课临时班级表对象
     * @return 受影响的记录行数
     */
    int update(TemporaryClassTable temporaryClassTable);


    /**
     *  根据ID删除选课临时班级表
     * @param temporaryClassTable 选课临时班级表ID
     * @return 受影响的记录行数
     */
    int delete(TemporaryClassTable temporaryClassTable);


    /**
     * 查询所有选课临时班级表信息
     * @return 所有选课临时班级表信息
     */
    List<TemporaryClassTable> queryAll(TemporaryClassTable temporaryClassTable);

    /**
     * 根据选课临时班级表ID查询选课临时班级表信息
     * @param temporaryClassTable 选课临时班级表ID
     * @return 选课临时班级表信息
     */

    TemporaryClassTable queryById(TemporaryClassTable temporaryClassTable);

    /**
     * 根据教师任课id查询选课临时班级表信息
     * @param temporaryClassTable 教师任课id
     * @return 选课临时班级表信息
     */
    TemporaryClassTable queryByTeachersschedulesid(TemporaryClassTable temporaryClassTable);


    /**
     * 查询总记录条数
     */
    Integer queryForPageTotalCount();


    /**
     * 分页查询DAO层方法
     *
     * @param begin    起始记录行数
     * @param pageSize 每页展示数量
     * @return
     */
    List<TemporaryClassTable> queryForPageItems(int begin, int pageSize);

}
